export enum BasicStatus {
  DISABLE,
  ENABLE,
}

export enum ResultEnum {
  // SUCCESS = 0,
  OK = 0,
  SUCCESS = 200,
  NOT = 1,
  ERROR = 500,
  UNAUTHORIZED = 401, // 未经授权
  FORBIDDEN = 403, // 禁止访问
}

export enum StorageEnum {
  User = 'user',
  Token = 'token',
  Settings = 'settings',
  Config = 'config',
  I18N = 'i18nextLng',
  Dataset = 'dataset',
  DatasetStorage = 'datasetStore',
  RoleManage = 'rolemanage',
  TourStorage = 'tour',
  ChunkRefreshKey = 'pagekey',
  protocolName = 'protocolName',
  LoginPageDisplay = 'loginPage',
  // TiangongManagerRoles = 'TiangongManagerRoles',
}

export enum ThemeMode {
  Light = 'light',
  Dark = 'dark',
}

export enum ThemeLayout {
  Vertical = 'vertical',
  Horizontal = 'horizontal',
  Mini = 'mini',
}

export enum ThemeColorPresets {
  Default = 'default',
  Cyan = 'cyan',
  Purple = 'purple',
  Blue = 'blue',
  Orange = 'orange',
  Red = 'red',
}

export enum LocalEnum {
  en_US = 'en_US',
  zh_CN = 'zh_CN',
}

export enum MultiTabOperation {
  FULLSCREEN = 'fullscreen',
  REFRESH = 'refresh',
  CLOSE = 'close',
  CLOSEOTHERS = 'closeOthers',
  CLOSEALL = 'closeAll',
  CLOSELEFT = 'closeLeft',
  CLOSERIGHT = 'closeRight',
}

export enum PermissionType {
  CATALOGUE,
  MENU,
  BUTTON,
}

export enum DatasetCollectionTypeEnum {
  folder = 'folder',
  virtual = 'virtual',

  file = 'file',
  link = 'link', // one link
  externalFile = 'externalFile',
}

export enum TrainingModeEnum {
  chunk = 'chunk',
  auto = 'auto',
  qa = 'qa',
}

export const TrainingTypeMap = {
  [TrainingModeEnum.chunk]: {
    name: '分块处理',
  },
  [TrainingModeEnum.auto]: {
    name: '增强处理',
  },
  [TrainingModeEnum.qa]: {
    name: '问答拆分',
  },
};

export const DatasetCollectionTypeMap = {
  [DatasetCollectionTypeEnum.folder]: {
    name: '目录',
  },
  [DatasetCollectionTypeEnum.file]: {
    name: '文件',
  },
  [DatasetCollectionTypeEnum.externalFile]: {
    name: '外部文件库',
  },
  [DatasetCollectionTypeEnum.link]: {
    name: '链接',
  },
  [DatasetCollectionTypeEnum.virtual]: {
    name: '手动数据集',
  },
};

export enum OpType {
  delete = 'delete',
  add = 'add',
  update = 'update',
}
